package jdesktop.appbar.win32;

import com.sun.jna.Pointer;
import com.sun.jna.Structure;

/**
 * Data structure used by the {@link Shell32#SHAppBarMessage(int, AppBarData)}
 * function. Not all members are used for each message. See the Win32 SDK for details.
 */
public class AppBarData extends Structure
{
    /**
     * The native size of this structure.
     */
    public /*DWORD*/ final int cbSize = size();
    /**
     * The window for the appbar.
     */
    public /*HWND*/ Pointer hWnd;
    /**
     * The value of a message id to use to notify the appbar.
     */
    public /*UINT*/ int uCallbackMessage;

    /**
     * The edge that the appbar occupies. See {@link Shell32#ABE_LEFT} et al.
     */
    public /*UINT*/ int uEdge;

    /**
     * The rectangle the appbar occupies.
     */
    public RECT rc;

    public /*LPARAM*/ int lParam;
}
